import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

# 指定系统中中文字体的路径（Windows常见路径如下，注意确认是否存在）
font_path = r'C:\Windows\Fonts\simhei.ttf'
myfont = FontProperties(fname=font_path, size=14)

# 性能数据
methods = ['BFS', 'DFS', 'LSTM-DQN']
speed = [120, 130, 184]
latency = [350, 330, 121]
cpu_usage = [82, 78, 58]

# 抓取速率对比图
plt.figure(figsize=(8, 6))
plt.bar(methods, speed, color=['skyblue', 'orange', 'green'])
plt.title('不同调度算法的抓取速率对比', fontproperties=myfont)
plt.ylabel('抓取速率 (pages/sec)', fontproperties=myfont)
plt.xlabel('调度算法', fontproperties=myfont)
plt.grid(axis='y')
plt.savefig('crawl_speed_comparison.png', dpi=300)
plt.close()

# 任务完成时延对比图
plt.figure(figsize=(8, 6))
plt.bar(methods, latency, color=['skyblue', 'orange', 'green'])
plt.title('不同调度算法的任务完成时延对比', fontproperties=myfont)
plt.ylabel('任务完成时延 (ms)', fontproperties=myfont)
plt.xlabel('调度算法', fontproperties=myfont)
plt.grid(axis='y')
plt.savefig('task_latency_comparison.png', dpi=300)
plt.close()

# CPU资源占用率对比图
plt.figure(figsize=(8, 6))
plt.bar(methods, cpu_usage, color=['skyblue', 'orange', 'green'])
plt.title('不同调度算法的CPU资源占用率对比', fontproperties=myfont)
plt.ylabel('CPU占用率 (%)', fontproperties=myfont)
plt.xlabel('调度算法', fontproperties=myfont)
plt.grid(axis='y')
plt.savefig('cpu_usage_comparison.png', dpi=300)
plt.close()
